//package com.shop.clientorder.service.impl;
//
//import java.util.ArrayList;
//import java.util.List;
//
//import com.shop.clientorder.domain.OrderReq;
//import com.shop.clientorder.domain.OrderVo;
////import com.shop.clientorder.feign.ClientOrderRemote;
//import com.shop.product.domain.ShopCarDetails;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.kafka.core.KafkaTemplate;
//import org.springframework.stereotype.Service;
//import com.shop.clientorder.mapper.OmsOrderMapper;
//import com.shop.clientorder.domain.OmsOrder;
//import com.shop.clientorder.service.IOmsOrderService;
//
///**
// * 订单Service业务层处理
// *
// * @author czb
// * @date 2024-06-25
// */
//@Service
//public class OmsOrderServiceImpl implements IOmsOrderService
//{
//    @Autowired
//    private OmsOrderMapper omsOrderMapper;
////    @Autowired
////    private ClientOrderRemote clientOrderRemote;
//    @Autowired
//    private KafkaTemplate kafkaTemplate;
//    /**
//     * 查询订单
//     *
//     * @param id 订单主键
//     * @return 订单
//     */
//    @Override
//    public OmsOrder selectOmsOrderById(Long id)
//    {
//        return omsOrderMapper.selectOmsOrderById(id);
//    }
//
//    /**
//     * 查询订单列表
//     *
//     * @param omsOrder 订单
//     * @return 订单
//     */
//    @Override
//    public List<OmsOrder> selectOmsOrderList(OmsOrder omsOrder)
//    {
//        return omsOrderMapper.selectOmsOrderList(omsOrder);
//    }
//
//    /**
//     * 新增订单
//     *
//     * @param orderVo@return 结果
//     */
//    @Override
//    public int insertOmsOrder(OrderVo orderVo)
//    {
//        ShopCarDetails shopCarDetails = new ShopCarDetails();
//        ArrayList<ShopCarDetails> list = new ArrayList<>();
//        OmsOrder omsOrder = new OmsOrder();
//        extracted(orderVo, shopCarDetails, list);
//
//        //异步批量添加订单
//        for (ShopCarDetails carDetails : list) {
//            String orderSn = orderVo.getOrderSn();
//            kafkaTemplate.send("Add_Order",orderSn,carDetails);
//        }
//
//        //异步添加订单详情
//        for (ShopCarDetails carDetails : list) {
//            kafkaTemplate.send("Add_Order_Item",carDetails);
//        }
//        return omsOrderMapper.insertOmsOrder(omsOrder);
//    }
//
//    //完成传入参数的切割和分配
//    private static void extracted(OrderVo orderVo, ShopCarDetails shopCarDetails, ArrayList<ShopCarDetails> list) {
//        List<String> ids = orderVo.getIds();
//        if (ids.size()==1){
//            for(String id:ids){
//                System.out.println(id);
//                String[] split = id.split("\\|");
//                shopCarDetails.setDetailsId(Long.valueOf(split[1]));
//                shopCarDetails.setSkuId(Long.valueOf(split[0]));
//                list.add(shopCarDetails);
//            }
//        }else{
//            for (String id : ids) {
//                System.out.println(id);
//                String[] split = id.split("\\|");
//                for (String s : split) {
//                    System.out.println(s);
//                    String[] split1 = s.split(",");
//                    shopCarDetails.setDetailsId(Long.valueOf(split1[1]));
//                    shopCarDetails.setSkuId(Long.valueOf(split1[0]));
//                    list.add(shopCarDetails);
//                }
//            }
//        }
//    }
//
//    /**
//     * 修改订单
//     *
//     * @param omsOrder 订单
//     * @return 结果
//     */
//    @Override
//    public int updateOmsOrder(OmsOrder omsOrder)
//    {
//        return omsOrderMapper.updateOmsOrder(omsOrder);
//    }
//
//    /**
//     * 批量删除订单
//     *
//     * @param ids 需要删除的订单主键
//     * @return 结果
//     */
//    @Override
//    public int deleteOmsOrderByIds(Long[] ids)
//    {
//        return omsOrderMapper.deleteOmsOrderByIds(ids);
//    }
//
//    /**
//     * 删除订单信息
//     *
//     * @param id 订单主键
//     * @return 结果
//     */
//    @Override
//    public int deleteOmsOrderById(Long id)
//    {
//        return omsOrderMapper.deleteOmsOrderById(id);
//    }
//
//    @Override
//    public List<OmsOrder> selectClirentOrderList(OrderReq orderReq) {
//
//        return omsOrderMapper.selectClientOrderList(orderReq);
//    }
//}
